#!/bin/bash
#
# Copyright (C) 2011-2020 Aratelia Limited - Juan A. Rubio and contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

#
# Simple htop wrapper for the tizonia process
#

declare -ar TIZONIA_HTOP_DEPS=( \
    'htop' \
    'pstree' \
    'pidof' \
    'cut' \
    'sed' \
)

# Check dependencies
for cmd in "${TIZONIA_HTOP_DEPS[@]}"; do
    command -v "$cmd" >/dev/null 2>&1 \
        || { echo >&2 "This program requires $cmd. Aborting."; exit 1; }
done

PROCNAME=tizonia
[[ -n "$1" ]] && { PROCNAME=$1; }

htop $(echo $(pstree -A -p $(pidof "$PROCNAME") | cut -d'(' -f2 | cut -d')' -f1) | sed 's/ /\ -p\ /g' | sed 's/^/-p\ /g')
